package com.atguigu.b_test;

import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class Test3 {
    public static void main(String[] args) throws IOException {
        //读写文件
        BufferedReader br = new BufferedReader(new FileReader("T_Day23\\test\\出师表.txt"));

        //先通过输入流对象读文件的中诗句 -> 一句在一行上 -> 一次读一行
        ArrayList<String> list = new ArrayList<>();

        String line;

        while((line = br.readLine()) != null){
            //读到的诗存到集合中
            list.add(line);
        }
        BufferedWriter bw = new BufferedWriter(new FileWriter("T_Day23\\test\\出师表.txt"));

        //要么在排之前 把集合中的 "" 删了
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).equals("")){
                list.remove(i);
                i--; //删除元素集合后续元素会往前走
            }
        }

        //对集合进行排序
        Collections.sort(list, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {

//                if (o1.equals("") || o2.equals("")){
//                    return 1;
//                }

                String[] split1 = o1.split("\\.");//[""]
                String[] split2 = o2.split("\\.");
                String s1 = split1[0];//""
                String s2 = split2[0];
                int i1 = Integer.parseInt(s1);//
                int i2 = Integer.parseInt(s2);
                return i1 - i2;
            }
        });

        //再遍历集合 把排序好诗句写回到文件中
        for (String shi : list) {
            bw.write(shi);
            bw.newLine();
        }


        //关流
        br.close();
        bw.close();
    }
}
